package com.alibaba.shopping_common.service;

import com.alibaba.shopping_common.pojo.ProductType;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * 商品类型服务接口
 */
public interface ProductTypeService {

    /**
     * 新增商品类型
     * @param productType 商品类型对象
     */
    void add(ProductType productType);

    /**
     * 删除商品类型
     * @param id 商品类型id
     */
    void del(Long id);

    /**
     * 更新商品类型
     * @param productType 商品类型对象
     */
    void update(ProductType productType);

    /**
     * 根据ID查询产品类型
     * @param id
     * @return
     */
    ProductType findById(Long id);
    /**
     * 查询所有的产品类型
     * @return 所有的产品类型list
     */
    List<ProductType> all(ProductType productType);

    /**
     * 分页查询
     * @param productType 查询条件
     * @param page 页码
     * @param size 每个条数
     * @return page
     */
    Page<ProductType> search(ProductType productType, int page, int size);

    /**
     * 根据父类型的ID查询子类型
     * @param productType
     * @return
     */
    List<ProductType> findByParentId(ProductType productType);
}
